1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtk.AccessibleIF;
26 
27 private import gobject.Value;
28 private import gtk.c.functions;
29 public  import gtk.c.types;
30 
31 
32 /**
33  * `GtkAccessible` is an interface for describing UI elements for
34  * Assistive Technologies.
35  * 
36  * Every accessible implementation has:
37  * 
38  * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole] enumeration
39  * - an “attribute”, represented by a set of [enum@Gtk.AccessibleState],
40  * [enum@Gtk.AccessibleProperty] and [enum@Gtk.AccessibleRelation] values
41  * 
42  * The role cannot be changed after instantiating a `GtkAccessible`
43  * implementation.
44  * 
45  * The attributes are updated every time a UI element's state changes in
46  * a way that should be reflected by assistive technologies. For instance,
47  * if a `GtkWidget` visibility changes, the %GTK_ACCESSIBLE_STATE_HIDDEN
48  * state will also change to reflect the [property@Gtk.Widget:visible] property.
49  */
50 public interface AccessibleIF{
51 	/** Get the main Gtk struct */
52 	public GtkAccessible* getAccessibleStruct(bool transferOwnership = false);
53 
54 	/** the main Gtk struct as a void* */
55 	protected void* getStruct();
56 
57 
58 	/** */
59 	public static GType getType()
60 	{
61 		return gtk_accessible_get_type();
62 	}
63 
64 	/**
65 	 * Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
66 	 *
67 	 * Returns: a `GtkAccessibleRole`
68 	 */
69 	public GtkAccessibleRole getAccessibleRole();
70 
71 	/**
72 	 * Resets the accessible @property to its default value.
73 	 *
74 	 * Params:
75 	 *     property = a `GtkAccessibleProperty`
76 	 */
77 	public void resetProperty(GtkAccessibleProperty property);
78 
79 	/**
80 	 * Resets the accessible @relation to its default value.
81 	 *
82 	 * Params:
83 	 *     relation = a `GtkAccessibleRelation`
84 	 */
85 	public void resetRelation(GtkAccessibleRelation relation);
86 
87 	/**
88 	 * Resets the accessible @state to its default value.
89 	 *
90 	 * Params:
91 	 *     state = a `GtkAccessibleState`
92 	 */
93 	public void resetState(GtkAccessibleState state);
94 
95 	/**
96 	 * Updates an array of accessible properties.
97 	 *
98 	 * This function should be called by `GtkWidget` types whenever an accessible
99 	 * property change must be communicated to assistive technologies.
100 	 *
101 	 * This function is meant to be used by language bindings.
102 	 *
103 	 * Params:
104 	 *     properties = an array of `GtkAccessibleProperty`
105 	 *     values = an array of `GValues`, one for each property
106 	 */
107 	public void updatePropertyValue(GtkAccessibleProperty[] properties, Value[] values);
108 
109 	/**
110 	 * Updates an array of accessible relations.
111 	 *
112 	 * This function should be called by `GtkWidget` types whenever an accessible
113 	 * relation change must be communicated to assistive technologies.
114 	 *
115 	 * This function is meant to be used by language bindings.
116 	 *
117 	 * Params:
118 	 *     relations = an array of `GtkAccessibleRelation`
119 	 *     values = an array of `GValues`, one for each relation
120 	 */
121 	public void updateRelationValue(GtkAccessibleRelation[] relations, Value[] values);
122 
123 	/**
124 	 * Updates an array of accessible states.
125 	 *
126 	 * This function should be called by `GtkWidget` types whenever an accessible
127 	 * state change must be communicated to assistive technologies.
128 	 *
129 	 * This function is meant to be used by language bindings.
130 	 *
131 	 * Params:
132 	 *     states = an array of `GtkAccessibleState`
133 	 *     values = an array of `GValues`, one for each state
134 	 */
135 	public void updateStateValue(GtkAccessibleState[] states, Value[] values);
136 }